package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddExCycleStageReportTaskPlanComReqDto
 * @使用场景
 */
@Data
public class AddExCycleStageReportTaskPlanComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 关联目标内容类型编码 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标
   */
  @NotNull(message = "关联目标内容类型编码不能为空")
  @ApiModelProperty("关联目标内容类型编码")
  private String relateContentTypeCode;

  /**
   * 关联目标内容ID
   */
  @NotNull(message = "关联目标内容ID不能为空")
  @ApiModelProperty("关联目标内容ID")
  private String relateContentId;

  /**
   * 周期ID
   */
  @NotNull(message = "周期ID不能为空")
  @ApiModelProperty("周期ID")
  private String cycleId;

  /**
   * 周期名称
   */
  @NotNull(message = "周期名称不能为空")
  @ApiModelProperty("周期名称")
  private String cycleStandardName;

  /**
   * 目标周期简称
   */
  @NotNull(message = "目标周期简称不能为空")
  @ApiModelProperty("目标周期简称")
  private String cyclelAlias;

  /**
   * 归属对象内容ID
   */
  @NotNull(message = "归属对象内容ID不能为空")
  @ApiModelProperty("归属对象内容ID")
  private String objectId;

  /**
   * 归属对象内容标识
   */
  @NotNull(message = "归属对象内容标识不能为空")
  @ApiModelProperty("归属对象内容标识")
  private String belongToContentCode;

  /**
   * 冗余目标ID
   */
  @NotNull(message = "冗余目标ID不能为空")
  @ApiModelProperty("冗余目标ID")
  private String targetId;

}
